package vip.xiaonuo.supplier.modular.finance.account.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 结算账户编辑参数
 *
 * @author Mr.wu
 * @date  2025/03/17 17:17
 **/
@Getter
@Setter
public class SupplierAccountEditParam {

    /** 账户ID */
    @Schema(description = "账户ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "id不能为空")
    private String id;

    /** 账户名称 */
    @Schema(description = "账户名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "accountName不能为空")
    private String accountName;

    /** 账号 */
    @Schema(description = "账号")
    private String accountCode;

    /** 开户行 */
    @Schema(description = "开户行")
    private String accountBank;

    /** 开户人 */
    @Schema(description = "开户人")
    private String accountHolder;

    /** 账户状态 */
    @Schema(description = "账户状态", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "accountStatus不能为空")
    private String accountStatus;

    /** 所属门店 */
    @Schema(description = "所属门店", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "accountStore不能为空")
    private String accountStore;

    /** 账户类型 */
    @Schema(description = "账户类型", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "accountAccountType不能为空")
    private String accountAccountType;

    /** 账户余额 */
    @Schema(description = "账户余额")
    private BigDecimal accountBalance;

    /** 备注 */
    @Schema(description = "备注")
    private String accountRemark;

    /** 排序码 */
    @Schema(description = "排序码")
    private Integer sortCode;

    /** 扩展信息 */
    @Schema(description = "扩展信息")
    private String extJson;

    /** 数据归属 */
    @Schema(description = "数据归属")
    private String companyId;

}
